Test automatique de programmes
نویسنده
چکیده
The design of embedded systems in safety-critical domains is a demanding task. During the last decades, formal methods and model-based approaches are widely used for the design, the analysis, the implementation and testing of major industrial applications. The work in this thesis addresses the improvement of the testing process with a view to automating test data generation as well as its quality evaluation, in the framework of reactive synchronous systems specified in the Lustre/SCADE language. The proposed testing methods use two different requirement-based models of the program under test. On the one hand, we present a testing methodology using the Lutess tool that automatically generates test input data based exclusively on the environment description of the system under test. In particular, this environment description is derived from the system informal requirements and represents a test model of the program describing its functional behavior. Several test models can be built for the same program simulating certain system failures or different situations that must be tested. Test models are then used to guide the test data generation process towards meaningful and valid test input sequences with regard to the specifications. On the other hand, among the large set of coverage criteria that have been proposed in the last years, we study the extension of a coverage assessment technique especially dedicated to Lustre/SCADE applications, using LUSTRUCTU, a prototype tool for coverage measurement. In this case, we are based on the SCADE model of the program under test built from the system requirements. The coverage criteria are defined directly on the Lustre/SCADE specifications and coverage is measured on the SCADE model rather than on the generated C code. The extended criteria take into account two new aspects: the use of multiple clocks in a Lustre program as well as integration testing as opposed to unit testing, allowing the coverage measurement of large-sized systems. These two strategies targeting, respectively, the test data generation process and the coverage evaluation are tailored to industrial needs and could have a positive impact in effectively testing real-world applications. Case studies extracted from the avionics domain are used to demonstrate the application of these methods as well as to empirically evaluate their performance and complexity. te l-0 04 54 40 9, v er si on 1 8 Fe b 20 10 Test automatique de programmes Lustre/SCADE
منابع مشابه
Différentiation automatique et formes de Taylor en analyse statique de programmes numériques
Résumé Des travaux récents sur l’analyse statique de programmes numériques ont montré que les techniques d’interprétation abstraite étaient adaptées à la validation de la précision des calculs en arithmétique flottante. L’utilisation des intervalles comme domaine numérique, même avec des méthodes de subdivision, induit une sur-approximation des résultats en particulier par l’existence de l’effe...
متن کاملUtilisation des contraintes pour la génération automatique de cas de test structurels
RÉSUMÉ. Une des difficultés majeures pour l’automatisation du processus de test structurel réside dans la production automatique des cas de test, c’est-à-dire la détermination d’un ensemble de valeurs d’entrée pour lesquelles un point choisi du programme sera exécuté. Nous présentons ici une nouvelle méthode où ce problème est transformé en un problème de résolution de contraintes. La traductio...
متن کاملAnalyse statique de programmes et systèmes numériques
Alors que la complexité des traitements informatiques dans les systèmes embarqués croit chaque jour, la sûreté du fonctionnement de ces systèmes devient un enjeu crucial, tout particulièrement pour les systèmes critiques. Plus largement, synthétiser et garantir des propriétés sur le comportement d’un programme, est un objectif naturel et de large utilité. Cette habilitation (Putot, 2012) porte ...
متن کاملRéécriture de programmes C--en équations logiques
RÉSUMÉ. Cet article présente un système pour transformer, de façon automatique, des programmes écrits en C--, un langage impératif simple, en un ensemble d’équations du premier ordre. Cet ensemble d’équations utilisé pour représenter un programme C-a une signification mathématique précise et les techniques standards de mécanisation du raisonnement équationnel peuvent être déployées pour vérifie...
متن کاملVérification de programmes C concurrents avec Cubicle : Enfoncer les barrières
Toutes les bibliothèques de threads au standard POSIX se doivent d’implémenter une barrière de synchronisation. Une telle structure de contrôle permet à des threads de s’attendre en un point donné d’un programme. Il existe de nombreuses implémentations pour ces barrières, plus ou moins sophistiquées. Citons par exemple, les sense barriers, les static tree barriers, les tournament barriers, etc....
متن کاملA Parallelization Framework for Recursive Tree Programs
The automatic parallelization of \regular" programs has encountered a fair amount of success due to the use of the polytope model. However, since most programs are not regular, or are regular only in parts, there is a need for a paral-lelization theory for other kinds of programs. This paper explore the suggestion that some \irregular" programs are in fact regular on other data and control stru...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010